canon/registries/T0_Arc_Grammar [DRAFT v0.1]/Sheet1.csv
6 rows
| class_id | class_name | relationship_shape | required_stages | optional_stages | stage_progression_map | min_beats_per_stage | span_rule | tier_applicability | terminal_stage_rule | evidenced_by | teeth | register_consumers | lifecycle | canonical_authority | hard_line_anchors | fk_refs | source_ref | populated_from | named_blanks | notes | extensions | version | last_updated |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| companion | Protagonist and companion | protagonist <-> companion | MEET|PROVE|COST|RUPTURE_RISK|CHOICE|LANDING | FINALE_READ | MEET>SEED|PROVE>ESCALATE|COST>TURN|RUPTURE_RISK>TEST|CHOICE>TURN|LANDING>RESOLVE|FINALE_READ>PAYOFF | 1 | COST is the first thing the bond takes from the player; RUPTURE_RISK is a test that could genuinely end it; an arc whose span_end_node precedes CH_65 carries LANDING, one that survives the Ch-65 lock carries FINALE_READ | PARTY_STRUCTURE Tier-1 companions (A3 obligation); Tier-2 optional | A4 span closure: FINALE_READ must READ a ws.* key. A6: every arc declares its leave | die | become_enemy disposition | Ntala's built arc: Ch 3 silent watcher, Ch 13 join and journal, Ch 23 integrity departure point, Ch 38 journal transfer, Ch 65 Departure/Continuation, Ch 71/75 present at the war | A1 stage coverage|A2 ordering|A3 tier obligation|A4 span closure|A5 cast orchestration (TIER-B)|A6 departure completeness | #41 companion personal-quest arcs|#39 loyalty_belief_axis (A5)|#40 departure third arm (A6) | draft | docs/proposals/STORY_DEPTH_PROGRAM.md sec 8.2 (two layers, one writable home: progression_stage is the arithmetic, stage_role is the reading) | CVD sec 17.1 (represent-with-care binds every relationship class)|HL_0099 (title-only naming)|HL_0116 (no forward reveal) | inbound: T0_Arc_Grid.stage_role -> a member of this row required_stages or optional_stages; T0_Arc_Index.grammar_class_ref -> class_id | docs/pipeline_review/STORYDEPTH_STORY_CRAFT_LENS_FAMILY_2026-07-27.md # SC-2 arc-grammar-relationship (the six classes and their grammars); docs/proposals/STORY_DEPTH_PROGRAM.md sec 8.2 | docs/pipeline_review/STORYDEPTH_STORY_CRAFT_LENS_FAMILY_2026-07-27.md # SC-2 -- COPY-ONLY transcription of the six stated grammars; no stage invented, no stage dropped | min_beats_per_stage is 1 on every row: the source states the column and states no per-class value, so the floor is the schema minimum rather than an invented number. optional_stages is blank on five of six -- only the companion class states one. | The grammar is the READING; the nine-value progression_stage enum is the ARITHMETIC. stage_progression_map is the sec 8.2 residual-risk mitigation carried as DATA: every stage_role maps to exactly ONE legal progression_stage, and the gate asserts it rather than trusting prose. THE SIX GRAMMARS GOVER | {} | 0.1.0 | 2026-07-29 |
| family | Protagonist and family | protagonist <-> family | BIRTHRIGHT|LOSS|ABSENCE|INHERITED_OBJECT|RECKONING | BIRTHRIGHT>SEED|LOSS>ESCALATE|ABSENCE>PRESENT|INHERITED_OBJECT>RESOLVE|RECKONING>RESOLVE | 1 | BIRTHRIGHT precedes LOSS in build order; ABSENCE may span an arbitrary node count including a time jump; RECKONING is terminal | the protagonist arc only (1 instance) | RECKONING is the terminal stage; no leave|die|become_enemy arm applies | Josh's authored spine instantiates all five: the ward passed at CHPRO_B07, the mother's death at CHPRO_B16, the townspeople's grudge across the time jump, the ward carried and given away at CH13_B13, the Ch-76 father encounter | A1 stage coverage|A2 ordering|A4 span closure | ARC_0001 stages INHERITED_OBJECT for this grammar | draft | docs/proposals/STORY_DEPTH_PROGRAM.md sec 8.2 (two layers, one writable home: progression_stage is the arithmetic, stage_role is the reading) | CVD sec 17.1 (represent-with-care binds every relationship class)|HL_0099 (title-only naming)|HL_0116 (no forward reveal) | inbound: T0_Arc_Grid.stage_role -> a member of this row required_stages or optional_stages; T0_Arc_Index.grammar_class_ref -> class_id | docs/pipeline_review/STORYDEPTH_STORY_CRAFT_LENS_FAMILY_2026-07-27.md # SC-2 arc-grammar-relationship (the six classes and their grammars); docs/proposals/STORY_DEPTH_PROGRAM.md sec 8.2 | docs/pipeline_review/STORYDEPTH_STORY_CRAFT_LENS_FAMILY_2026-07-27.md # SC-2 -- COPY-ONLY transcription of the six stated grammars; no stage invented, no stage dropped | min_beats_per_stage is 1 on every row: the source states the column and states no per-class value, so the floor is the schema minimum rather than an invented number. optional_stages is blank on five of six -- only the companion class states one. | The grammar is the READING; the nine-value progression_stage enum is the ARITHMETIC. stage_progression_map is the sec 8.2 residual-risk mitigation carried as DATA. CORRECTED AT THE FIX ROUND against the BUILT arc rather than the other way round: the map read LOSS>TURN and INHERITED_OBJECT>ESCALATE w | {} | 0.1.0 | 2026-07-29 | |
| community | Protagonist and community (per region) | protagonist <-> community | ARRIVE_AS_OUTSIDER|BE_TRUSTED|THE_TEST|THE_MARK|THE_RIPPLE | ARRIVE_AS_OUTSIDER>SEED|BE_TRUSTED>ESCALATE|THE_TEST>TEST|THE_MARK>PAYOFF|THE_RIPPLE>RESOLVE | 1 | THE_MARK is machine-visible today as mark_write{community_id, valence, persistence, forward_track}; THE_RIPPLE must land at a node the mark forward_tracks to | per region; the 76 T0_Region_Index rows are the candidate set (NOT minted in Wave 2) | THE_RIPPLE is terminal; an arc with no ripple consumer is UNPAID, not open_by_design, unless a reason is recorded | mark_write forward_track + WS_019 community_state_per_region are already typed; three of five stages are machine-visible before any authoring | A1 stage coverage|A2 ordering|A4 span closure | #3 hub-and-spoke; IR-1/IR-2 are the measured unpaid instances | draft | docs/proposals/STORY_DEPTH_PROGRAM.md sec 8.2 (two layers, one writable home: progression_stage is the arithmetic, stage_role is the reading) | CVD sec 17.1 (represent-with-care binds every relationship class)|HL_0099 (title-only naming)|HL_0116 (no forward reveal) | inbound: T0_Arc_Grid.stage_role -> a member of this row required_stages or optional_stages; T0_Arc_Index.grammar_class_ref -> class_id | docs/pipeline_review/STORYDEPTH_STORY_CRAFT_LENS_FAMILY_2026-07-27.md # SC-2 arc-grammar-relationship (the six classes and their grammars); docs/proposals/STORY_DEPTH_PROGRAM.md sec 8.2 | docs/pipeline_review/STORYDEPTH_STORY_CRAFT_LENS_FAMILY_2026-07-27.md # SC-2 -- COPY-ONLY transcription of the six stated grammars; no stage invented, no stage dropped | min_beats_per_stage is 1 on every row: the source states the column and states no per-class value, so the floor is the schema minimum rather than an invented number. optional_stages is blank on five of six -- only the companion class states one. | The grammar is the READING; the nine-value progression_stage enum is the ARITHMETIC. stage_progression_map is the sec 8.2 residual-risk mitigation carried as DATA: every stage_role maps to exactly ONE legal progression_stage, and the gate asserts it rather than trusting prose. THE SIX GRAMMARS GOVER | {} | 0.1.0 | 2026-07-29 | |
| antagonist_web | Protagonist and antagonist web | protagonist <-> antagonist-web | PRESSURE_WITHOUT_A_FACE|A_PATTERN_FELT|THE_PATTERN_NAMED|THE_PERSON|THE_ANSWER | PRESSURE_WITHOUT_A_FACE>PRESENT|A_PATTERN_FELT>ESCALATE|THE_PATTERN_NAMED>TURN|THE_PERSON>TEST|THE_ANSWER>RESOLVE | 1 | the grammar's stage boundaries ARE the reveal boundaries: no House-of-Velheim pattern before ~Ch 38, no Cassius before Ch 76, no Grand Sage before Ch 77 | one arc (the web itself); individual operatives are grid rows, not arcs | THE_ANSWER is terminal and is reveal-gated to CH_77 | the built reveal ladder: the operative roster runs CH_02 to CH_76 with awareness_tier already typed UNAWARE / FAMILY_BRIEFED / FULLY_AWARE / INNER_COUNCIL | A1 stage coverage|A2 ordering|A4 span closure -- this class CITES harness/check_reveal_discipline.py and check_grand_sage_silence.py rather than duplicating them | reveal discipline is owned by the existing gates; this grammar never re-implements them | draft | docs/proposals/STORY_DEPTH_PROGRAM.md sec 8.2 (two layers, one writable home: progression_stage is the arithmetic, stage_role is the reading) | CVD sec 17.1 (represent-with-care binds every relationship class)|HL_0099 (title-only naming)|HL_0116 (no forward reveal) | inbound: T0_Arc_Grid.stage_role -> a member of this row required_stages or optional_stages; T0_Arc_Index.grammar_class_ref -> class_id | docs/pipeline_review/STORYDEPTH_STORY_CRAFT_LENS_FAMILY_2026-07-27.md # SC-2 arc-grammar-relationship (the six classes and their grammars); docs/proposals/STORY_DEPTH_PROGRAM.md sec 8.2 | docs/pipeline_review/STORYDEPTH_STORY_CRAFT_LENS_FAMILY_2026-07-27.md # SC-2 -- COPY-ONLY transcription of the six stated grammars; no stage invented, no stage dropped | min_beats_per_stage is 1 on every row: the source states the column and states no per-class value, so the floor is the schema minimum rather than an invented number. optional_stages is blank on five of six -- only the companion class states one. | The grammar is the READING; the nine-value progression_stage enum is the ARITHMETIC. stage_progression_map is the sec 8.2 residual-risk mitigation carried as DATA: every stage_role maps to exactly ONE legal progression_stage, and the gate asserts it rather than trusting prose. THE SIX GRAMMARS GOVER | {} | 0.1.0 | 2026-07-29 | |
| familiar | Protagonist and familiar | protagonist <-> familiar | BOND|LOSS|SUBSTITUTE_BONDS|REUNION|THE_STAND | BOND>SEED|LOSS>TURN|SUBSTITUTE_BONDS>PRESENT|REUNION>PAYOFF|THE_STAND>RESOLVE | 1 | the five required stages hold their declared order; the third spans the absence between the second and the fourth; the fourth and fifth may be band-gated, in which case path_sensitivity is band_reading and the arc declares every arm | the familiar slot roster; the ordinary-acquisition slots traverse BOND only | the fifth required stage is terminal; a band-gated arc declares every arm | UNEVIDENCED AT WAVE 2 -- teeth ship UNARMED | A1 stage coverage|A2 ordering|A4 span closure | the minted familiar_bond arcs carry BOND only; every later stage is UNPOPULATED at Wave 2 | draft | docs/proposals/STORY_DEPTH_PROGRAM.md sec 8.2 (two layers, one writable home: progression_stage is the arithmetic, stage_role is the reading) | CVD sec 17.1 (represent-with-care binds every relationship class)|HL_0099 (title-only naming)|HL_0116 (no forward reveal) | inbound: T0_Arc_Grid.stage_role -> a member of this row required_stages or optional_stages; T0_Arc_Index.grammar_class_ref -> class_id | docs/pipeline_review/STORYDEPTH_STORY_CRAFT_LENS_FAMILY_2026-07-27.md # SC-2 arc-grammar-relationship (the six classes and their grammars); docs/proposals/STORY_DEPTH_PROGRAM.md sec 8.2 | docs/pipeline_review/STORYDEPTH_STORY_CRAFT_LENS_FAMILY_2026-07-27.md # SC-2 -- COPY-ONLY transcription of the six stated grammars; no stage invented, no stage dropped | min_beats_per_stage is 1 on every row: the source states the column and states no per-class value, so the floor is the schema minimum rather than an invented number. optional_stages is blank on five of six -- only the companion class states one. | The grammar is the READING; the nine-value progression_stage enum is the ARITHMETIC. stage_progression_map is the sec 8.2 residual-risk mitigation carried as DATA: every stage_role maps to exactly ONE legal progression_stage, and the gate asserts it rather than trusting prose. THE SIX GRAMMARS GOVER | {} | 0.1.0 | 2026-07-29 | |
| crew | Companion and companion (the crew lane) | companion <-> companion | NOTICE|FRICTION|ALIGNMENT_OR_NOT | NOTICE>SEED|FRICTION>ESCALATE|ALIGNMENT_OR_NOT>RESOLVE | 1 | the three stages must be spaced across at least three distinct nodes; a downtime/crew venue is required to stage NOTICE and FRICTION | within a PARTY_STRUCTURE Tier-1 crew | ALIGNMENT_OR_NOT is terminal and may resolve either way; NOT is a legal terminal value | ZERO instances corpus-wide -- register #42 measures no companion<->companion relational state and no downtime/crew scene_type to stage it. The grammar is declared UNEVIDENCED and its teeth stay UNARMED until the first instance exists | A1 stage coverage|A2 ordering -- both DECLARED NOT-ARMED at Wave 2 (zero rows) | #42 companion<->companion + the downtime venue | draft | docs/proposals/STORY_DEPTH_PROGRAM.md sec 8.2 (two layers, one writable home: progression_stage is the arithmetic, stage_role is the reading) | CVD sec 17.1 (represent-with-care binds every relationship class)|HL_0099 (title-only naming)|HL_0116 (no forward reveal) | inbound: T0_Arc_Grid.stage_role -> a member of this row required_stages or optional_stages; T0_Arc_Index.grammar_class_ref -> class_id | docs/pipeline_review/STORYDEPTH_STORY_CRAFT_LENS_FAMILY_2026-07-27.md # SC-2 arc-grammar-relationship (the six classes and their grammars); docs/proposals/STORY_DEPTH_PROGRAM.md sec 8.2 | docs/pipeline_review/STORYDEPTH_STORY_CRAFT_LENS_FAMILY_2026-07-27.md # SC-2 -- COPY-ONLY transcription of the six stated grammars; no stage invented, no stage dropped | min_beats_per_stage is 1 on every row: the source states the column and states no per-class value, so the floor is the schema minimum rather than an invented number. optional_stages is blank on five of six -- only the companion class states one. | The grammar is the READING; the nine-value progression_stage enum is the ARITHMETIC. stage_progression_map is the sec 8.2 residual-risk mitigation carried as DATA: every stage_role maps to exactly ONE legal progression_stage, and the gate asserts it rather than trusting prose. THE SIX GRAMMARS GOVER | {} | 0.1.0 | 2026-07-29 |